package correct.day23;

import java.util.ArrayList;

public class Test3 {
    static int n;
    static boolean[] vis = new boolean[210];
    public static int citys (ArrayList<ArrayList<Integer>> m) {
        // write code here
        n = m.size();
        int ret = 0;
        for(int i = 0; i < n; i++) {
            if(vis[i] == false) {
                ret++;
                dfs(m, i);
            }
        }
        return ret;
    }

    public static void dfs(ArrayList<ArrayList<Integer>> m, int pos) {
        vis[pos] = true;
        for(int i = 0; i < n; i++) {
            if(m.get(pos).get(i) == 1 && vis[i] == false) {
                dfs(m, i);
            }
        }
    }

    public static void main(String[] args) {
        ArrayList<ArrayList<Integer>> m = new ArrayList<>();
        ArrayList<Integer> m1 = new ArrayList<>();
        ArrayList<Integer> m2 = new ArrayList<>();
        ArrayList<Integer> m3 = new ArrayList<>();
        ArrayList<Integer> m4 = new ArrayList<>();
        m1.add(1);
        m1.add(1);
        m1.add(0);
        m1.add(1);

        m2.add(1);
        m2.add(0);
        m2.add(0);
        m2.add(0);

        m3.add(0);
        m3.add(0);
        m3.add(1);
        m3.add(0);

        m4.add(1);
        m4.add(0);
        m4.add(1);
        m4.add(0);

        m.add(m1);
        m.add(m2);
        m.add(m3);

        System.out.println(citys(m));
    }
}
